<template>
    <div class="TimeLine">Button</div>
</template>
<script setup>

</script>
<style lang="less" scoped>
.TimeLine {
    width: 100px;
    height: 35px;
    text-align: center;
    line-height: 35px;
    border-radius: 5px;
    cursor: pointer;
    background: darkcyan;

    /* 
    // background(变换的属性) .5s(变换的持续时间) linear(变换的速度曲线) .3s(变换的延迟时间)
    // 也可以根据指定的信息，只变换其中的部分属性
    // 后一个变换属性的 延迟时间 >= 前一个变换属性的延迟时间，就可以制作出最简单的变换时间轴效果
    // 注意，触发之后，再触发离开时，会根据已经变换的时间 再变换回去, 也就是如果操作过快的话，不会将动画执行完
    */
    transition: width .3s linear, background .3s linear .3s, color .3s linear .6s;
}

.TimeLine:hover {
    background-color: bisque;
    color: #666;
    width: 150px;
    
    /* 
    // 如果在变换的过程中，改变变换属性，则直接执行新的变换属性，离开后，由于属性还原
    // 则执行最开始的变换属性
    */
    transition: width .1s linear, background .1s linear .1s, color .1s linear .2s;
}

.TimeLine:active {
    background-color: cornflowerblue;
    color: #fff;
}
</style>